package com.shanjupay.merchant.config;


import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.client.OkHttp3ClientHttpRequestFactory;
import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.http.converter.StringHttpMessageConverter;
import org.springframework.web.client.RestTemplate;

import java.nio.charset.StandardCharsets;
import java.util.List;

/**
 *
 *
 *
 */
@Configuration
public class MerchantConfig {


    /**
     *  RestTemplate 默认使用 String 存储body内容时， 默认使用的时iso_8859_1 字符集
     *
     *  配置SpringHttpMessageConverter 消息转换器， 使用utf-8 字符集
     *
     * @return
     */
    @Bean
    public RestTemplate restTemplate(){
        RestTemplate restTemplate = new RestTemplate(new OkHttp3ClientHttpRequestFactory());
        // 消息转换器
        List<HttpMessageConverter<?>> messageConverters = restTemplate.getMessageConverters();
        // 配置消息转化器StringHttpMessageConverter ，并设置UTF-8 , 使他支持 中文字符集
        messageConverters.set(1,new StringHttpMessageConverter(StandardCharsets.UTF_8));

        return restTemplate;
    }
}
